                              ===========================                             
                              R E L E A S E    N O T E S
                              ===========================

                         QLogic iSCSI Boot Software Initiator 

                      Copyright (c) 2015 QLogic Corporation
                                 All rights reserved.
                   
                     
                    QLogic iSCSI Boot Software Initiator 
                            

Revision History for iSCSI Boot Software Initiator                
==================================================

Version 7.12.1 November 9, 2014
------------------------------
    Enhancements:
    =============
    1. Updated display/copyright information. (CQ#76685)

Version 7.12.0 September 16, 2014
---------------------------------
  1. Problem: iSCSI interface failed to acquire DHCP address from server with
              host name and root path longer than 32 characters. (CQ #73737)

     cause  : Driver configured for host name and root path of 32 characters.

     Change : Driver configured to support up to 255 characters

Version 7.10.4 February 26, 2014
--------------------------------
    1. Problem: iSCSI ROM hangs when booting from Win2K12 OS if RAID controller
       is enabled in the BIOS on a certain OEM platforms that uses a lot of
       EBDA memory. (CQ#72136)

       Change: Reduced the stack size by 64 bytes from 1024 bytes.

Version 7.10.3 February 11, 2014
--------------------------------
    1. Problem: iSCSI ROM crashed after logging on to certain target
       where the check condition is returned in split response for 
       Read Capacity request. (CQ#72136)

       Change: Updated iSCSI ROM so that it only copies incoming data
       including Sense Info up to data length of buffer that is provided 
       by upper module.

Version 7.10.2 January 24, 2014
-------------------------------
    1. Problem: R bit is cleared in iSCSI CMD PDU header for Inquiry.
       (CQ#72552)
          
      Change: Updated iSCSI stack code so that it sets R bit 
       in iSCSI CMD header for Inquiry request.

      Introduced : 7.10.1

Version 7.10.1 January 17, 2014
-------------------------------
    1. Problem: R bit is set in iSCSI CMD PDU header for Inquiry and
       Test Unit request.
 
      Change: Updated iSCSI stack code so that it doesn't set R bit 
       in iSCSI CMD header.

Version 7.10.0 January 7,2014
-----------------------------
    Enhancements:
    =============
    1. Updated Copyright banner to reflect year of 2014. 

Version 7.8.75 November 7,2013
------------------------------
    Fixes:
    ======
    1. Problem: Unable to boot via Offload path on RedHat 6.5. (CQ#71611)

       Change : Updated iscsi_setup.sh to leverage 'iscsiadm -m fw' 
                functionality when creating iSCSI connections in INITRD 
                for RH6.5.
   
Version 7.8.51 August 29,2013
-----------------------------
    Fixes:
    ======
    1. Problem: iSCSI ROM failed CHAP authentication.

       Change : Updated RX logic to apply the fix for CQ#70283 when it's
       in iSCSI full phase only. This issue was introduced in 7.8.50.

Version 7.8.50 August 14,2013
-----------------------------
    Fixes:
    ======
    1. Updated bibt package to bring up second connection in MPIO 
       configuration during INITRD. (CQ#70419)

    2. Updated iscsi_setup.sh to suppress insmod error messages. (CQ#70453)

Version 7.8.7 July 10,2013
--------------------------
    Fixes:
    ======
    1. Updated iscsi_setup.sh to support SuSE 11 SP3. (CQ#69992)

    2. Updated bibt package to retrieve and correlate second target 
       information from iBFT. (CQ#70022) (CQ#70023)

Version 7.8.6 June 06,2013
--------------------------
    Fixes:
    ======
    1. Updated iscsi_setup.sh to terminate iscsid prior to pivot root to 
       avoid page fault after memory free operation. (CQ#68408)

Version 7.8.5 May 16,2013
-------------------------
    Fixes:
    ======
    1. Updated iscsi_setup.sh to include check for tg3 dependency on hwmon
       module prior to loading tg3 driver in INITRD on RH5.9. (CQ#68901)

Version 7.8.4 April 3,2013
--------------------------
    Fixes:
    ======
    1. Problem: Query_iscsi utility returns incorrect L2_MAC_ADDRESS on
                BCM57810.(CQ68266)

       Change : Updated query_iscsi utility to detect correct device
                function number, when operating in multifunction mode.

    Enhancements:
    =============
    1. Updated default iSCSI configuration block so that getting iSCSI 
       parameters with DHCP is disabled by default.

Version 7.8.3 February 1,2013
-----------------------------
    Fixes:
    ======
    1. Problem: Unable to execute iscsi_setup.sh script.(CQ#67437)

       Change : Re-formatted script to UNIX text file format.

Version 7.8.2 January 9,2013
----------------------------
    Enhancements:
    =============
    1. Updated Copyright banner to reflect year of 2013. 
    2. Updated query_iscsi utility with additional PCI ID's.
    3. Updated iscsi_setup.sh to remove unnecessary comments.
    4. Updated iSCSI ROM to prevent booting with HBA path if storage 
       personality is not configured to support iSCSI. (CQ#67165)

Version 7.8.1 December 3,2012
-----------------------------
    Enhancements:
    =============
    1. Enhanced iSCSI ROM so that memory block used by iSCSI ROM/UNDI driver
       is now marked as reserved memory region instead of non-usable memory
       region.

Version 7.8.0 August 24,2012
----------------------------
    Enhancements:
    =============
    1. Added support for BCM57767/BCM57787/BCM57764/BCM5725/BCM5762 devices.

Version 7.4.2 June 4,2012
-------------------------
   Enhancements:
   =============        
   1. Added support for BCM57840 devices with new PCI ID's.

Version 7.4.1 May 22,2012
-------------------------
   Fixes:
   ======
   1. Problem: Disk was offline intermittently during DVD installation.
      (CQ#61922)

      Change : Updated INT13h read API interface so that it would retry
      for read request of LBA#0. 

   Enhancements:
   =============
   1. Enhanced INT13 interface to support features described in Enhanced Disk 
      Drive Services v3.0 (2005). Extended Get Drive Parameter API (AX=48h) now
      returns Boot LUN, PCIe PFN, etc... if the input buffer provided at
      the interface is large enough.

Version 7.4.0 May 2,2012
------------------------
   Enhancements:
   =============        
   1. Add support for BCM57811.

Version 7.2.52 April 19, 2012
-----------------------------
   Enhancements:
   =============        
   1. Enhanced iSCSI ROM to relocate iBFT to the higher memory region
      with respect to EBDA.

Version 7.2.51 April 17, 2012
-----------------------------
   Fixes:
   ======
   1. Problem: Incorrect driver version is loaded on SuSE 11 SP2 during INITRD,
      on iSCSI-booted environment. (CQ#62439)

      Change : Updated iscsi_setup.sh to remove any previously loaded driver
      module prior to loading applicable driver.

   2. Problem: System got RSOD on some platforms during DVD installation. This
      issue occurs on some systems that utilize a lot of EBDA area.

      Change : Rearranged iSCSI ROM code such that all critical modules are 
      in high memory area.

Version 7.2.50 March 28, 2012
-----------------------------
   Fixes:
   ======
   1. Problem: Boot LUN configuration was not applied correctly if iSCSI target
      name was configured to maximum length of 128 bytes.

      Change : Updated iSCSI session resource structure so that it can store 
      maximum of 128 byte iSCSI target name.

   2. Problem: iSCSI ROM failed to login to BlueArc iSCSI target. (CQ#62357)

      Change : Updated iSCSI login session code so that it processes login 
      responses correctly if there are more than one negotiation phases. 

Version 7.2.2 March 23, 2012
----------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot fails to boot successfully on SuSE 10 SP4.(CQ#62291)

      Change : Updated iscsi_setup.sh script to determine iSCSI daemon, and
               use the appropriate Target Portal Group Tag value when updating
               iSCSI node connection parameters.

Version 7.2.1 March 15, 2012
---------------------------
   Enhancements:
   =============
   1.  Enhanced error message to include AFEX when an iSCSI offload is disabled 
       in the in NPAR or AFEX mode. (CQ#62083)

   2.  Updated iscsi_setup.sh script to add support for SuSE 11 SP2 and Red Hat
       5 Update 8.

   3.  Removed references to iSCSI Boot Configuration Program in readme.txt.(CQ#61245)

Version 7.2.0 January 18, 2012
------------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot connection is lost when initiator IP is x.x.x.1 and
               HBA offload mode is enabled. (CQ#58814)

      Cause:   iscsi_setup.sh script incorrectly uses x.x.x.1 IP address for L2 
               interface as well as iSCSI offload interface in this scenario.
   
      Change : Updated iscsi_setup.sh script to compare iBFT initiator address
               to avoid using duplicate IP addresses when bringing up L2 
               interface.

   Enhancements:
   =============
   1.  Updated query_iscsi to return L2_MAC_Address for NX2_1G devices.

Version 7.0.10 November 28, 2011
--------------------------------
   Enhancements:
   =============
   1. Updated query_iscsi utility to display iSCSI Mac Address and L2 Mac
      Address of the booted device for BCM57xx and BCM578xx devices.

   2. Updated iscsi_setup.sh to use new query_iscsi parameters.

Version 7.0.9 October 27, 2011
------------------------------
   Fixes:
   ======
   1. Updated iscsi_setup.sh script to correct error message contents.
 
Version 7.0.8 September 22, 2011
--------------------------------
   Fixes:
   ======
   1. Problem: Failed to login to EqualLogic iSCSI target intermittently.
      (CQ#58776)

      Cause : iSCSI login timeout was 10s.  EqualLogic target can respond   
      to iSCSI first login in 9s when it's busy condition.

      Change : Changed iSCSI login timeout to higher value.

Version 7.0.7 September 19, 2011
-------------------------------
   Fixes:
   ======
   1. Problem: Windows setup intermittently displays target disk as offline 
      during DVD installation. (CQ#58130,CQ#57353)

      Change : Added logic to handle connection recovery so that it will 
      re-establish iSCSI connection with target if it was terminated by
      the iSCSI target. 

Version 7.0.6 September 2, 2011
-------------------------------
   Fixes:
   ======
   1. Problem: RH 6.1 DVD installation over iSCSI boot path failed.

      Change : Updated iSCSI ROM to initialize iBFT table such that all
      addresses are initialized with 0's instead of IPv4-mapped IPv6 
      address of 0's.  

Version 7.0.5 August 29, 2011
-----------------------------
   Fixes:
   ======
   1. Problem: iSCSI ROM failed to complete DHCPv6 phase with some DHCPv6
      server. 

      Cause : DHCPv6 receive code checked for DHCPv6 source port to make sure
      it's from DHCPv6 server's well-known port (547). Some servers responded
      with source port as 546 which is well-known port for DHCPv6 client port.     

      Change : Updated iSCSI ROM to check for UDP destination port (546) and 
      DHCPv6 transaction ID only.

Version 7.0.4 August 17, 2011
-----------------------------
   Fixes:
   ======
   1. Problem: iSCSI crash dump driver failed to create dump in a certain
      IPv4 MPIO boot configuration. (CQ#57018)

      Change : Updated iSCSI ROM to pass correct IPv4-mapped IPv6 addresses
      for all IPv4 addresses except all-zero DHCP address.

   2. Problem : iSCSI ROM allows users to boot from a PF that doesn't
      have iSCSI offload enabled in NPAR mode. (CQ#57161)
       
      Change : Updated iSCSI ROM to terminate the boot with error message
      if iSCSI offload is disabled on a PF when it's in NPAR mode.  This fix
      requires MBA v7.0.18 or newer.

Version 7.0.3 July 28, 2011
---------------------------
   Fixes:
   ======
   1. Problem: iSCSI ROM failed to login to LeftHand iSCSI target if Target
      Direction is used. (CQ#57079)

      Change : Updated iSCSI login processing code to handle target redirection
      correctly. 

Version 7.0.2 July 26, 2011
---------------------------
   Enhancements:
   =============
   1. Updated iscsi_setup.sh script to remove warning message during INITRD
      creation.

   2. Updated readme.txt to add limitation notes for direct target installations
      of Red Hat 6.1.

Version 7.0.1 July 8, 2011
--------------------------
   Fixes:
   ======
   1. Problem: RedHat OS installation over iSCSI boot path failed when static
      IP address was used. (CQ#56773)

      Change : Updated iSCSI ROM to initialize iBFT table such that DHCP 
      address field is initialized with 0's instead of IPv4-mapped IPv6 
      address of 0's.

Version 7.0.0 June 17,2011
--------------------------
    Enhancements:
    =============
    1. Added support for BCM578xx MF device IDs.
    2. Removed IBCFG DOS/Windows/Linux applications and ROM binaries from the
       release since they have been deprecated by CCM.

Version 6.4.2 April 13, 2011
----------------------------
   Fixes:
   ======
   1. Updated iscsi_setup.sh script to add support for Red Hat 5 Update 6.

   Enhancements:
   =============
   1. Embedded with IBCFG v6.4.0 (See release note below for details).

Version 6.4.1 March 1, 2011
---------------------------
   Fixes:
   ======
   1. Problem: Windows WLK 1.6 boot test failed. (CQ#53435)

      Change : Updated Extended Disk Query interface to return correct disk 
      size in number of sectors correctly.

Version 6.4.0 February 23, 2011
-------------------------------
   Fixes:
   ======
   1. Problem: iSCSI ROM failed to boot in an IPv6 configuration when TCP 
      timestamp is enabled. (CQ#52873)

      Cause : TCP data length was initialized 4 byte short when TCP timestamp
      is enabled.  This caused packet to be 4 byte short.

      Change : Updated TCP/IPv6 stack to correctly initialize TCP data length
      when TCP timestamp is enabled.

Version 6.2.5 January 26, 2011
------------------------------
   Enhancements:
   =============
   1. Updated copyright banner to reflect year of 2011. (CQ#51886)

Version 6.2.4 December 21, 2010
-------------------------------
   Enhancements:
   =============
   1. Enhanced L2 transmit routine so that it transmits 64-byte packet
      instead of 68 byte for any packets that are less than minimum 
      size.

Version 6.2.3 December 15, 2010
-------------------------------
   1. Problem: iSCSI ROM failed to connect to a certain iSCSI target in 
      a certain IPv6 configuration. (CQ#51721)

      Cause : This iSCSI target responds ICMPv6 Advertisement in which IPv6 
      address in IP header is different from Target Address field in the
      ICMPv6 header.

      Change : Updated ARP learning logic to use IPv6 address in the ICMPv6
      Advertisement instead of the IPv6 address in the IP header.

Version 6.2.2 December 13, 2010
-------------------------------
   Enhancements:
   =============
   1. Added support for BCM57800, BCM57810, and BCM57840.

Version 6.2.1 December 3, 2010
------------------------------
   Enhancements:
   =============
   1. Added support for BCM5720 device.
   2. Optimized code size to shrink code size by 6Kbytes.
   3. Enhanced iSCSI ROM to allow users to stop booting for DVD 
      installation by pressing Ctrl-D within 4s. 

Version 6.2.0 November 23, 2010
---------------------------------
   Enhancements:
   =============
   1. Added support BCM5719.

Version 6.0.10 September 15, 2010
---------------------------------
   Fixes:
   ======
   1. Updated iscsi_setup.sh script to correctly evaluate the network MAC 
      Address for all possible values of the iSCSI MAC Address.

Version 6.0.9 August 17, 2010
-----------------------------
   Fixes:
   ======
   1. Updated iscsi_setup.sh script to include missing dependency module for 
      SuSE 11 SP1.  Removed some debugging messages as well.

Version 6.0.8 August 5, 2010
----------------------------
   Fixes:
   ======
   1. Updated iscsi_setup.sh script to kill brcm_iscsiuio daemon before
      pivot root.

   Enhancements:
   =============
   1. Embedded with IBCFG v6.0.5 (See release note below for details).

Version 6.0.7 July 26, 2010
---------------------------
   Enhancements:
   =============
   1. Added support for GPT partition.

Version 6.0.6 July 15, 2010
---------------------------
   Enhancements:
   =============
   1. Added support for RedHat 6.0 in iscsi_setup.sh script. (CQ#45891)

Version 6.0.5 May 14, 2010
--------------------------
   Fixes:
   ======
   1. Problem: iSCSI boot intermittently failed to connect with iSCSI
      target with 10Gbase-T NICS.

      Cause : 10Gbase-T interface on the switch might not forward traffic
      or has link bounce after a link change.

      Change : Added logic to do 4 retries if it fails to connect.  This
      way, login logic is more tolerant and robust to any network issues.

   Enhancements:
   =============
   1. Embedded with IBCFG v6.0.4 (See release note below for details).

Version 6.0.4 February 24, 2010
-------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v6.0.3 (See release note below for details).

Version 6.0.3 February 2, 2010
------------------------------
   Enhancements:
   =============
   1. Added support for BCM57712 devices.

   Fixes:
   ======
   1. Problem: iSCSI boot failed to boot to VMware partition from a 
      EMC iSCSI target.

      Cause : iSCSI session receive path doesn't handle NOP-IN request 
      correctly when it's in the middle of IO processing state.

      Change : Changed iSCSI session rx path to handle NOP-IN request
      correctly when it's in the middle of IO processing state.

Version 6.0.2 January 19, 2010
------------------------------
   Fixes:
   ======
   1. Problem: problem to Configure MPIO Using CTRL+K (CQ#44394).

      Cause  : Direction Flag was set before the transition to the iSCSI Config
               program.

      Change : Clear the Direction Flag up on entry.

Version 6.0.1 January 5, 2010
-----------------------------
   Enhancements:
   =============
   1. Enhanced DHCPv6 code to transmit Enterprise Number as 0x113d (4413)
      for Broadcom per IANA enterprise number specs.

   2. Added iSCSI image compression support.  It's required to use latest
      MBA ROM that supports decompession:
      NX1     : MBA v14.0.7 or newer 
      NX2_1G  : MBA v6.0.0 or newer
      NX2_10G : MBA v6.0.0 or newer

Version 6.0.0 Dec 30, 2009
--------------------------
   Enhancements:
   =============
   1. Updated Copyright banner to reflect year of 2010. 
   2. Embedded with IBCFG v6.0.0 (See release note below for details).

   Fixes:
   ======
   1. Fixed wrong IPv6 image created inside ISCSI BCV ROM combo image.

Version 4.2.10 December 28, 2009
--------------------------------
   Fixes:
   ======
   1. Problem: BCV iSCSI ROM IPv6 ROM was not built correctly.

      Change : Changed the building process to link correct software
      components for BCV iSCSI ROM IPv6.

   2. Updated iscsi_setup.sh script to load 8021q module prior to loading
      the bnx2x driver module as required for v1.52.12.

Version 4.2.9 December 17, 2009
-------------------------------
   Enhancements:
   =============
   1. Enhanced iSCSI ROM to use standard iBFT table for NetExtreme I    
      devices when HBA mode is set in the NVRAM.
   2. Embedded with IBCFG v4.2.8 (See release note below for details).

Version 4.2.8 December 15, 2009
-------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v4.2.7 (See release note below for details).
   
Version 4.2.7 December 14, 2009
-------------------------------
   Enhancements:
   =============
   1. Updated iscsi_setup.sh script to add support for SuSE 11 iSCSI offload 
      path.

   2. Embedded with IBCFG v4.2.6 (See release note below for details).

Version 4.2.6 December 11, 2009
-------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v4.2.5 (See release note below for details).

Version 4.2.5 December 9, 2009
------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v4.2.4 (See release note below for details).

Version 4.2.4 December 8, 2009
------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v4.2.3 (See release note below for details).

Version 4.2.3 November 22, 2009
-------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v4.2.2 (See release note below for details)
   2. Enhanced iSCSI ROM shutdown routine to restore interrupt mask
      in PCI command register. 

Version 4.2.2 November 16, 2009
-------------------------------
   Enhancements:
   =============
   1. Added iSCSI ROM BCV support. (CQ#43825)
   2. Enhanced iSCSI ROM to prevent lockup if other software entities (e.g EDIAG)
      take over the device.
   3. Embedded with IBCFG v4.2.1 (See release note below for details)

Version 4.2.1 November 10, 2009
-------------------------------
   Fixes:
   ======
   1. Problem: Protected OS (Linux, Windows) gets spurious interrupt if other
      devices (SATA,SAS) share the same interrupt with the NIC. (CQ#44434)

      Change : Programmed the device to run in polling mode.

   Enhancements:
   =============
   1. Enhanced DHCPv6 logic to send out include Vendor Class ID in DHCPv6
      Solicit Request.

Version 4.2.0 October 21, 2009
------------------------------
   Enhancements:
   =============
   1. Add support for BCM57761,BCM57765,BCM5717, BCM5718, and BCM5724.

Version 4.1.9 October 15, 2009
------------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot w/ RH5.4 Offload fails with out-of-tree driver. (CQ#44142)

      Cause : iscsi_setup.sh set up iface parameters incorrectly causing the 
              iscsi login to fail. 

      Change : Updated iscsi_setup.sh to remove erroneous parameter values.

Version 4.1.8 October 6, 2009
-----------------------------
   Enhancements:
   =============
   1. Updated iscsi_setup.sh script to add support for RedHat 5 Update 4 and
      SuSE 10 SP3.

Version 4.1.7 September 21, 2009
--------------------------------
   Enhancements:
   =============
   1. Enhanced iSCSI ROM to support direct DVD installation over iSCSI path
      on platforms that don't support BBS.  This also requires updated MBA
      drivers (MBA v5.0.7 for NX2_1G and MBA v5.0.20 for NX2_10G).

Version 4.1.6 September 14, 2009
--------------------------------
   Enhancements:
   =============
   1. Enhanced iSCSI ROM to indicate origin of IP address in the iBFT table.
   2. Embedded with IBCFG v4.1.1 (See release note below for details)

Version 4.1.5 September 3, 2009
-------------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot hangs after sitting idle during Win2K3 installation 
      for a long time. (CQ#42862)

      Change : Fixed keep-alive logic to work correctly in a heavily broadcast 
      network.

Version 4.1.4 September 2, 2009
-------------------------------
   Enhancements:
   =============
   1. Enhanced IPv6 stack so that it only processes ICMPv6 solicit request when
      the request's destination MAC address matches with one of the solicit 
      multicast MAC addresses of the interface.

   Fixes:
   ======
   1. Problem: iSCSI Boot might fail or hang if DHCPv6 packets are received 
      after DHCPv6 phase.

      Cause : DHCPv6 code region is re-used for iBFT table during final 
      phase of booting.  There is a bug in IPv6 stack where it 
      still invokes DHCPv6 processing logic after the DHCPv6 phase.    

      Change : Changed IPv6 stack so that it drops all incoming DHCPv6 
      packets after DHCPv6 phase.

Version 4.1.3 August 28, 2009
----------------------------
   Fixes:
   ======
   1. Problem: iSCSI failed to boot to VMware ESX partition.

      Cause : Bootstrap in Master Boot Record (MBR at LBA=0) of VMware 
      partition expects bootable drive number in register DL.  This 
      register was not initialized by iSCSI ROM code.

      Change : Changed INT13h setup code to initialize register DL with 
      bootable drive number before passing control to VMware MBR.

Version 4.1.2 August 26, 2009
----------------------------
   Enhancements:
   =============
   1. Increased number of retries for DHCPv4 from 4 to 6.

Version 4.1.1 August 7, 2009
----------------------------
   Fixes:
   ======
   1. Problem: iSCSI failed to login to Dell PowerVault NX3000 iSCSI target
      if it's behind a router.

      Cause : With this iSCSI target, login response can take more than 3s.
      There is a bug in iSCSI login code that initiates keep alive process 
      unexpectedly. 

      Change : Changed iSCSI session code so that keep alive procedure 
      doesn't start unexpectedly. 

Version 4.1.0 July 31, 2009
---------------------------
   Fixes:
   ======
   1. Problem: iSCSI failed to perform target redirection with a certain
      iSCSI target (HP VSA, Lefthand SANiQ, etc...).

      Cause : This is a bug in the iSCSI ROM that doesn't parse iSCSI target
      redirection information when it's sent in the different phase of login.

      Change : Changed the iSCSI ROM so that it parses iSCSI target redirection
      in all phases of iSCSI login.

   Enhancements:
   =============
   1. Embedded with IBCFG v4.1.0 (See release note below for details).
   2. Enhanced IPv4 ARP logic to update ARP table for ARP responses only due
      to small ARP table.  

Version 4.0.19 June 29, 2009
----------------------------
   Fixes:
   ======
   1. Problem: iSCSI failed to boot over NDIS path if the iSCSI target
      and iSCSI client are on the same subnet and IPv6 default gateway
      is present. (CQ#42326)

      Cause : This is a bug in the MSFT stack where it sends packets 
      to default router even iSCSI target is only the same subnet.

      Change : Changed the iSCSI ROM so that it doesn't pass default 
      gateway parameter in iBFT if iSCSI target is on the same subnet 
      for NDIS path.

Version 4.0.18 June 23, 2009
----------------------------
   Fixes:
   ======
   1. Problem: iSCSI failed to login consistently to EqualLogic iSCSI 
      target with latest FW that supports IPv4/IPv6 target redirection.

      Cause : This target takes over 6 seconds to respond to iSCSI  
      login requests.

      Change : Changed iSCSI code to increase iSCSI login timeout 
      from 5 seconds to 10 seconds.

Version 4.0.17 June 22, 2009
----------------------------
   Fixes:
   ======
   1. Problem: Secondary NIC failed to connect in HBA mode in following 
      boot scenarios:
        * iSCSI boot in MPIO configuration.
        * iSCSI boot with cable connected to the primary NIC.
        * iSCSI boot with no cable connected to the secondary NIC.

      Change : Changed iSCSI boot to code to assign default gateway
      to the secondary NIC.

   2. Problem: iSCSI IPv6 target redirection doesn't work correctly.

      Cause : IPv6 mode flag was not set correctly which causes IPv6
      target redirection parsing logic not executed.
  
      Change : Changed iSCSI boot to initialize IPv6 flag correctly.

Version 4.0.16 June 18, 2009
----------------------------
   Fixes:
   ======
   1. Problem: iSCSI IPv6 fails to boot if iSCSI target is on different 
      subnet and over the router and the Default Router is advertised 
      link-local address.(CQ#41909)

      Change : Selects best match source address if the default router 
      is link-local address.

   Enhancements:
   =============
   1. Added ICMPv6 echo/reply support.

Version 4.0.15 June 16, 2009
---------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v4.0.6 (See release note below for details)

Version 4.0.14 June 11, 2009
---------------------------
   Fixes:
   ======
   1. Problem: iSCSI IPv6 fails to boot to Windows if iSCSI target is on 
      different subnet and over the router. 

      Cause : Source IP address field in the iBFT was not initialized 
      correctly in the above scenario.

      Change : Changed iSCSI ROM so that source IP address is initialized 
      correctly in the IBFT.

Version 4.0.13 June 10, 2009
---------------------------
   Fixes:
   ======
   1. Problem: iSCSI ROM allow to use link-local address when IP 
      Autoconfiguration is disabled.

      Change : Changed iSCSI ROM so that only statically configured IP address
      is used when IP autoconfiguration is disabled.

   2. Problem: iSCSI IPv6 fails to boot if iSCSI target is on different subnet
      and over the router. (CQ#41909)

      Change : Changed iSCSI ROM so that source IP address is initialized 
      correctly when default gateway is used.

   Enhancements:
   =============
   1. Embedded with IBCFG v4.0.5 (See release note below for details)

Version 4.0.12 June 4, 2009
---------------------------
   Fixes:
   ======
   1. Problem: iSCSI ROM appears to hang after iSCSI login information is 
      displayed after many reboot iterations. 

      Cause : Delay routine doesn't take care for wrap-around 32-bit system  
      timer at 40:6c.

      Change : Fixed the delay routine to take care of wrap-around timer.

Version 4.0.11 May 29, 2009
---------------------------
   Fixes:
   ======
   1. Problem: Windows iSCSI boot initiator failed to reconnect with NX2 10G
      interfaces in the following MPIO configuration:
         * IPv4 configuration.
         * DHCP of the secondary interface is enabled.
         * System boots with only one cable connected to primary interface.
         * Secondary interface is reconnected after OS is up.
      (CQ#41608)

      Cause : iSCSI offoad driver doesn't detect IPv4 DHCP configuration 
      correctly. 

      Change : Fixed iSCSI ROM driver so that iSCSI offload driver can detect
      IPv4 DHCP configuration correctly.

Version 4.0.10 May 28, 2009
--------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot IPv6 failed with statically configured IP address.
      (CQ#41579)

      Cause : iSCSI Boot ROM doesn't initialize source IP address correctly 
              in the iSCSI block.

      Change : Fixed iSCSI ROM driver so that it passes correct source IP 
               address in the iSCSI block in statically configured IP
               address scenario.

Version 4.0.9 May 27, 2009
--------------------------
   Fixes:
   ======
   1. Problem: MPIO failed in iSCSI IPv6 mode in the following configuration:
         * System is booted with non-static IPv6 configuration.
         * System is booted with one cable only.

      Cause : iSCSI Boot ROM doesn't pass DHCPv6 parameters to the iSCSI
              offload driver for the interface without cable attached.

      Change : Fixed iSCSI ROM driver so that it passes correct IP address 
               of the DHCPv6 server.  This fix also requires OIS driver 
               v5.0.6 or newer.

Version 4.0.8 May 21, 2009
--------------------------
   Enhancements:
   =============
   1. Removed some debugging messages during login phase.

Version 4.0.7 May 20, 2009
--------------------------
   Fixes:
   ======
   1. Problem: Error creating VLANs during INITRD phase. (CQ#41038)
 
      Change : Updated iscsi_setup.sh script to bring up the network interface 
               prior to attempting to add a VLAN.

   2. Problem: Cannot connect to a second iSCSI target from a SuSE 11 
               iSCSI-booted image. (CQ#41208)

      Change : Updated iscsi_setup.sh script to stop the iscsid daemon during
               the INITRD phase.  This allows open-iscsi daemon to start from
               a known state. 

   Enhancements:
   =============
   1. Embedded with IBCFG v4.0.4 (See release note below for details)

Version 4.0.6 May 20, 2009
--------------------------
   Fixes:
   ======
   1. Problem: There is only one iSCSI connection when system is booted 
               in IPv6 mode with MPIO enabled/iSCSI boot offload path. 
               (CQ#41233)

      Cause : iSCSI ROM didn't pass correct source IP address and subnet 
              prefix length for secondary interface to the iSCSI offload
              driver.

      Change : Fixed logic to pass correct parameters to iSCSI offload 
               driver.

   2. Problem: System failed to boot IPv6 mode with NDIS path and IPv6
               address is acquired via DHCPv6. (CQ#41304)

      Cause : iSCSI ROM didn't pass IP address of DHCPv6 server in the
              iBFT table.

      Change : Fixed logic to pass IP address of DHCPv6 server to
               MSFT iSCSI Initiator.

Version 4.0.5 May 18, 2009
--------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot ROM displays "NIC Initialization failed" when 
               NIC has no cable connected in IPv6 boot scenario.

      Change : Fixed logic to return correct link status in IPv6 boot
               scenario.

Version 4.0.4 May 18, 2009
-------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot ROM fails to return to BIOS when ISCSI Boot
               IPv6 fails when DHCPv6 or IP Autoconfiguration is 
               enabled.

      Cause : DHCPv6 code corrupted the segment of the code due to 
              NULL pointer access.

      Change : Initialized the Tx buffer pointer before DHCPv6 or
               IP Autoconfiguration code starts.

   Enhancements:
   =============
   1. Embedded with IBCFG v4.0.3 (See release note below for details)

Version 4.0.3 May 14, 2009
-------------------------
   Enhancements:
   =============
   1. Added support for stateful autoconfiguration with DHCPv6.

   2. Enhanced to support vendor specific options which allow users to 
      specify 2 iSCSI targets and initiator name in DHCPv6 option 16 
      and 17. These options are described as follows:
    
        Option 201: First iSCSI Target Information which is in standard 
        format as root-path.
        "iscsi:[IPv6 Address]:<protocol>:<port>:<LUN>:<targetname>

        Option 202: Second iSCSI Target Information which is in standard 
        format as root-path.
        "iscsi:[IPv6 Address]:<protocol>:<port>:<LUN>:<targetname>

        Option 203: iSCSI Initiator Name.

        These 3 options should be encapsulated within DHCPv6 option 17.
        In addition, DHCPv6 option 16 has to be present which must 
        contains a string that matched with configured parameter 
        "DHCP Vendor ID".  

        Format of DHCPv6 option is fully defined in RFC 3315.  Content of 
        option 16 should be <2-byte length> <DHCP Vendor ID>.  Content of 
        option 17 should be  <2-byte Option Number 201|202|203>
        <2-byte length> <data>.

        iSCSI DOS initiator will try to connect to 1st iSCSI target. If it
        fails to connect, it will try to connect to the 2nd iSCSI target.

   3. Embedded with IBCFG v4.0.2 (See release note below for details)

Version 4.0.2 May 6, 2009
-------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot IPv6 intermittently failed to boot in a network that
               more than one IPv6 routers responded to Router Advertisement 
               Solicit request. (CQ#41018)

      Cause : IPv6 stack terminated address discovery early after Router 
              Advertisement without Prefix information was received.

      Change : Changed IPv6 stack so that it won't terminate address 
               discovery until it receives Router Advertisement with 
               Prefix information.

   2. Problem: Second Router Solicit packet has invalid ICMPv6 checksum.

      Change : Changed IPv6 stack so that it initializes ICMPv6 checksum  
               field of Tx packet in every iteration.

   Enhancements:
   =============
   1. Enhanced stateless autoconfiguration logic so that it adheres to 
      IPv6 neighbor discovery specification.  Router Solicit packets are 
      now sent out up to 3 times and 4 seconds between them.

Version 4.0.1 May 5, 2009
-------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v4.0.1 (See release note below for details)

Version 4.0.0 May 1, 2009
-------------------------
   Enhancements: 
   =============
   1. Added IPv6 support.

   2. Enhanced iSCSI driver to allow CHAP user name fields up to 128 byte
      long. (CQ#40308)
   
   3. Updated iscsi_setup.sh to handle error condition on RedHat5.3. (CQ#40323)

Version 3.1.8 March 13, 2009
----------------------------
   Enhancements: 
   =============
   1. Embedded with IBCFG v3.1.4 (See release note below for details)
   
Version 3.1.7 February 26, 2009
-------------------------------
   Fixes:
   ======
   1. Problem: Linux iSCSI Boot fails if attempting to boot from the fourth
               port/device. (CQ#39668).

      Cause :  iscsi_setup.sh script searched a fixed-size buffer area when
               trying to obtain iSCSI offload driver information. When there
               are four or greater number of devices, the limited buffer size 
               may not capture all instances.

      Change : Updated iscsi_setup.sh script to expand the buffer area searched 
               when obtaining the iSCSI offload driver instance information.

Version 3.1.6 January 21, 2009
------------------------------
   Enhancements:
   =============
   1. Updated iscsi_setup.sh script to search for driver modules in all
      appropriate directories.

Version 3.1.5 January 13, 2009
------------------------------
   Enhancements:
   =============
   1. Updated iscsi_setup.sh script to create node for iSCSI offload driver
      during INITRD. (CQ#39209).

Version 3.1.4 January 5, 2009
-----------------------------
   Enhancements:
   =============
   1. Add support for BCM5761S devices.
   2. Updated Copyright banner to reflect year of 2009. 

Version 3.1.3 December 18, 2008
-------------------------------
   Enhancements:
   =============
   1. Added "Use Independent Target Name" parameter.  This parameter will allow
      the user to specify the source of the target IQN for the secondary
      device in MPIO configurations. (CQ#37349).

Version 3.1.2 December 10, 2008
-------------------------------
   Enhancements:
   =============
   1. Updated readme.txt to dereference iSCSI ROM file name "iscsi.bin".
      (CQ#38657)

   2. Enhanced iSCSI ROM driver so that it doesn't need to reinitialize 10G
      UNDI driver during bootup phase.

Version 3.1.1 December 1, 2008
------------------------------
   Enhancements:
   =============
   1. Add support for BCM5716S devices.

Version 3.1.0 October 27, 2008
------------------------------
   Enhancements:
   =============
   1. Add support for BCM57760 devices.

Version 3.0.6 October 17, 2008
------------------------------
   Enhancements:
   =============
   1. Updated RPM installation to not build query_iscsi utility.  Updated
      iscsi_setup.sh to build query_iscsi utility.

Version 3.0.5 October 14, 2008
------------------------------
   Enhancements:
   =============
   1. Released RPM in binary format.

Version 3.0.4 October 10, 2008
------------------------------
   Enhancements:
   =============
   1. Updated RPM package to install package contents to /opt/bcm directory.

Version 3.0.3 October 6, 2008
-----------------------------
   Fixes:
   ======
   1. Problem: IBCFG iSCSI configuration utility cannot be executed in 
      Windows 2008 64-bit environment. (CQ#37737)

      Cause :  Proxy driver is not digitally signed.  

      Change : Release proxy driver as a digitally signed driver.

Version 3.0.2 September 23, 2008
--------------------------------
   Fixes:
   ======
   1. Problem: DHCP process might fail in a certain race condition. (CQ#37494)

      Cause :  iSCSI ROM might accept DHCP responses for other clients
               if there are more than 2 responses on the network.

      Change : Fixed logic that filters DHCP responses.

Version 3.0.1 September 23, 2008
--------------------------------
   Fixes:
   ======
   1. Problem: Secondary device uses DHCP acquired target info AND static
               target info when primary device is configured to retrieve iSCSI
               target info via DHCP. CQ#35333

      Cause :  Secondary device retrieved its own static target info prior
               to checking the settings of the primary device.

      Change : If the secondary target acquisition flag is altered by the
               primary device, then re-initialize the secondary target info.

   2. Problem: Error message is displayed when using uni-directional CHAP
               authentication during Linux iSCSI Boot. CQ#36200

      Change : Changed method in iscsi_setup.sh to avoid using any empty
               parameters.

   Enhancements:
   =============
   1. Package Linux iSCSI Boot tools in RPM format. CQ#35684

Version 3.0.0 September 2, 2008
-------------------------------
   Enhancements:
   =============
   1. Released driver with file name that signifies version number.
      For instance, ibootv3.00. (CQ#36065)

Version 2.8.2 June 20, 2008
---------------------------
   Fixes:
   ======
   1. Problem: bnx2x.ko module fails to load on SuSE 10 SP2. (CQ#35895)

      Cause :  iscsi_setup.sh did not load dependency module prior to 
               loading bnx2x.ko module.

      Change:  Modify iscsi_setup.sh to load dependency module first.

   2. Problem: Linux iSCSI Boot fails with CHAP enabled on SuSE 10. (CQ#35893)

      Cause :  Dynamically changed CHAP parameters were not being propagated
               to the iSCSI configuration files on the target image.
               
      Change:  Modified iscsi_setup.sh to copy iSCSI configuration files 
               from the INITRD image to the target image.  

   3. Problem: iscsi_setup.sh fails to create a proper bootable image for 
               SuSE 10 SP2.

      Change :  Modified iscsi_setup.sh to account for new initator syntax
                used on SuSE 10 SP2.

Version 2.8.1 June 5, 2008
--------------------------
   1. Embedded with IBCFG v2.8.1 (See release note below for details)

Version 2.8.0 May 30, 2008
--------------------------
   Enhancements:
   =============
   1. Added support for BCM57711 and BCM57711E devices.

Version 2.7.12 April 22, 2008
-----------------------------
   Enhancements:
   =============
   1. Enhanced driver to handle hexadecimal values during iSCSI parameter
      negotiation.

Version 2.7.11 April 15, 2008
-----------------------------
   Fixes:
   ======
   1. Problem: Secondary device will use target IP address from the Primary
      instead of it's own for Target2, even though "Use Independent Target 
      Portal" is enabled. (CQ#34789)

      Cause : Target Connect flag was set improperly.

      Change: Set Target Connect flag in the correct location. 
   Enhancements:
   =============
   1. Enhanced driver to pass the DHCP server IP address to the iSCSI block
      with a value of 0xffffffff, if the device was configured to get a DHCP
      address but failed to receive an address.

Version 2.7.10 April 10, 2008
-----------------------------
   Fixes:
   ======
   1. Problem: System fails to boot in the following configuration:
        * MPIO is disabled
        * Primary NIC is configured with two targets.  Each target is
          configured with Mutual CHAP authentication.
          (CQ#34728)

      Cause : If both target Mutual CHAP passwords are not identical in the 
      iBFT, Windows iSCSI Boot component does not initiate a login attempt.

      Change : Populate the iBFT with only the information of the iSCSI target
      that was successfully connected.

Version 2.7.9 April 8, 2008
---------------------------
   Fixes:
   ======
   1. Problem: When Primary device is set to get IP address via DHCP, 
      the Secondary device will also get IP address via DHCP, even though the
      Secondary is set to get IP address statically. (CQ#34636)

      Cause :  OIS driver was using DHCP server information from the primary
      device and applied it to the secondary device.

      Change : Added DHCP server information for the secondary device to
      the iSCSI block to differentiate between primary and secondary devices.
   Enhancements:
   =============
   1. Added secondary device target portal information to the iSCSI block.
   2. Embedded with IBCFG v2.7.6 (See release note below for details)

Version 2.7.8 April 4, 2008
---------------------------
   Enhancements:
   =============
   1. Provided configurable parameter to allow user to specify if the 
      Primary target information should be used by the Secondary device
      in MPIO mode.
   2. Enhanced driver to use the virtual MAC address instead of the 
      permanent MAC address for applicable devices.
   3. Embedded with IBCFG v2.7.5 (See release note below for details)
      
Version 2.7.7 March 17, 2008
----------------------------
   Fixes:
   ======
   1. Problem: Query_iscsi returns incorrect Mutual CHAP secret. (CQ#34241)

      Cause : Incorrect offset was being used to return Mutual CHAP secret.

      Change : Changed offset to correct value.

   2. Problem: iscsi_setup.sh script reports errors on Red Hat 5 while
               building custom INITRD. (CQ#34228)

      Change : Added a flag in the script to differentiate between
               RH5 and RH5 Update 1, since additional support modules 
               are needed by RH5 Update 1.
        

Version 2.7.6 March 5, 2008
---------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.7.4 (See release note below for details)
   2. Enhanced query_iscsi utility to retrieve iSCSI Boot parameters
      from the iBFT.
   3. Updated iscsi_setup.sh script to include necessary modules.
   
Version 2.7.5 February 20, 2008
------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.7.3 (See release note below for details)

Version 2.7.4 February 5, 2008
------------------------------
   Enhancements:
   =============
   1. Embedded version number so that bootcode can extract it for NCSI.

Version 2.7.3 January 29, 2008
------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.7.2 (See release note below for details)

Version 2.7.2 January 29, 2008
------------------------------
   Enhancements:
   =============
   1. Enhanced DHCP receive code to validate DHCP responses with correct 
      MAC address in the Client MAC address field.

Version 2.7.1 January 11, 2008
------------------------------
   Enhancements:
   =============
   1. Updated Copyright banner to reflect year of 2008. 
   2. Increase number of DHCP retries to 4 and time intervals are 
      1s, 2s, 4s, and 8s.

Version 2.7.0 December 21, 2007
------------------------------
   Enhancements:
   =============
   1. Added flag in the iSCSI block to indicate if "Boot To Target" is
      enabled or not.
   2. Added PCI Function Number information to the iSCSI block.

Version 2.6.4 November 14, 2007
------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.6.2 (See release note below for details)

Version 2.6.3 November 5, 2007
------------------------------
   Enhancements:
   =============
   1. Enabled UNDI re-initialization logic for BCM57710 devices.

Version 2.6.2 October 22, 2007
------------------------------
   Fixes:
   ======
   1. Problem: System fails to boot to local hard drive due to 
      insufficient memory in the following configurations:
        * Multiple iSCSI Boot devices are configured as bootable
          before local hard drive.
        * Windows iSCSI offload path.
        * Boot to Target is configured to Disable.
        (CQ#31879)

      Change : Changed the iSCSI boot driver to prevent iSCSI boot ROM to load
      twice.

   Enhancements:
   =============
   1. Enhanced iSCSI ROM driver to pass information to the iSCSI block so that 
      primary or secondary NIC can be identified.

   2. Enhanced iSCSI ROM driver so that second NIC information is passed even
      MPIO mode is disabled when it is booting with offload path.  

Version 2.6.1 October 15, 2007
------------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.6.1 (See release note below for details)

Version 2.6.0 October 11, 2007
------------------------------
   Enhancements:
   =============
   1. Add support for BCM5761/BCM5761E/BCM5764 devices.

Version 2.5.14 October 8, 2007
------------------------------
   Enhancements:
   =============
   1. Changed iSCSI boot ROM to pass LUN information in the iSCSI 
      block in the offload path.

Version 2.5.13 October 4, 2007
------------------------------
   Fixes:
   ======
   1. Problem: System fails to boot in the following configurations:
        * MPIO is enabled.
        * Primary NIC is configured to acquire iSCSI target information
          from the DHCP server.
        * Primary NIC is not connected. 
        (CQ#31690)

      Cause : iSCSI boot agent couldn't acquire iSCSI parameters from 
      the DHCP server since there is no cable attached.  
      
      Change : Changed the iSCSI boot driver to use iSCSI target returned
      from the DHCP server for the secondary NIC to boot when primary
      NIC has no cable attached.

Version 2.5.12 September 20, 2007
---------------------------------
   Fixes:
   ======
   1. Problem: Chap ID field does not allow certain characters
      
      Change : Remove restrictions on certain characters for the Chap ID

   Enhancements:
   =============
   1. Embedded with IBCFG v2.5.5 (See release note below for details)
      
Version 2.5.11 September 20, 2007
---------------------------------
   Fixes:
   ======
   1. Problem: Unsuccessful iSCSi boot doesn't unhook INT13h. (CQ#31491)

      Change : Remove enhancement where iSCSI boot agent hooks INT13h 
      and preserve iBFT table if the target partition is not bootable. 
   
   Enhancements:
   =============
   1. Added flag in the iSCSI block to indicate if HBA mode is being used.

Version 2.5.10 September 20, 2007
-------------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot driver preserves case in IQN. (CQ#31368)
      Change : Map uppercase characters to their lowercase equivalent for IQN.
   
   Enhancements:
   =============
   1. Embedded with IBCFG v2.5.4 (See release note below for details)

Version 2.5.9 September 10, 2007
-------------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot driver doesn't use correct MAC configuration when the 
      following configurations are setup :
       * MPIO is enabled.
       * DHCP is enabled on the secondary NIC. 
       * Windows HBA mode configuration of primary and secondary NIC are 
         different. (CQ#31333)

      Change : Changed iSCSI Boot driver to copy parameters from the primary
      NIC to secondary NIC before DHCP process starts. 

Version 2.5.8 September 6, 2007
-------------------------------
   Fixes:
   ======
   1. Problem: iSCSI CmdSeq in the iSCSI packet might be out of sequence in 
      a certain race condition when keep-alive NOP-OUT procedure kicks in. 
      This will cause hang up or protocol errors. (CQ#30742)

      Change : Fixed the Tx logic to avoid race condition.

   Enhancements:
   =============
   1. Enhanced query_iscsi utility to include a check for the boot
      interface flag, to verify that it is using the correct iSCSI block.
 
Version 2.5.7 August 30, 2007
-----------------------------
   Enhancements:
   =============
   1. Enhanced iSCSI boot agent to deposit complete iSCSI block on 
      the secondary NIC so that iSCSI offload path can support MPIO
      feature.

Version 2.5.6 August 29, 2007
-----------------------------
   Enhancements:
   =============
   1. Enhanced iSCSI boot agent to hook INT13h and preserve iBFT table
      if the target partition is not bootable. (CQ#31189)

Version 2.5.5 August 24, 2007
-----------------------------
   Fixes:
   ======
   1. Problem: iSCSI Boot fails on BCM57710 device.

      Change : Add workaround to disable UNDI re-initialization logic for
      BCM57710 devices.
 
Version 2.5.4 August 17, 2007
-----------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.5.3 (See release note below for details)

   2. Enhanced iSCSI ROM driver to pass DHCP server IP address and 
      other information of secondary NIC to the iSCSI offload driver.

Version 2.5.3 August 10, 2007
-----------------------------
   Fixes:
   ======
    1. Problem: MAC address of secondary interface is not saved in the 
       NIC's shared memory.  This is used in MPIO iSCSI offload mode.
     
       Change: Changed the iSCSI boot driver to store MAC address of secondary
       interface in the NIC's shared memory.

    2. Problem: MSFT iSCSI Initiator also connects to iSCSI target when it's 
       booted from the iSCSI offload path.
     
       Change: Changed the iSCSI boot driver to not built iBFT when it's booted
       via iSCSI offload path.

Version 2.5.2 August 9, 2007
-----------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.5.2 (See release note below for details)

Version 2.5.1 August 8, 2007
-----------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.5.1 (See release note below for details)

Version 2.5.0 August 1, 2007
-----------------------------
   Enhancements:
   =============
   1. Enhanced iSCSI ROM driver to pass secondary NIC information to the 
      iSCSI offload driver so that it can support MPIO.

Version 2.4.13 July 30, 2007
--------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.4.8 (See release note below for details)

Version 2.4.12 July 26, 2007
--------------------------
   Enhancements:
   =============
   1. Embedded with IBCFG v2.4.7 (See release note below for details)

Version 2.4.11 July 26, 2007
--------------------------
   Enhancements:
   =============
   1. Added iscsi_setup.sh script for Linux.  This script automates the process
      of creating the customized INITRD.

   2. Changed driver to check if VLAN mode is enabled, prior to passing the 
      VLAN ID to the iSCSI block.

Version 2.4.10 July 25, 2007
--------------------------
   Fixes:
   ======
   1. Problem: Repeated MAC address in iSCSI configuration utility 
      Device list.  (CQ#30737)

      Cause : Indirect access was not enabled in the correct location.

      Change: Enable indirect access during initialization.
   
   2. Problem: In a MPIO configuration, query_iscsi returns zero for all 
      values when the secondary NIC is used to boot. (CQ#30747)

      Cause : Query_iscsi only validated the iSCSI Block signature.

      Change: Changed query_iscsi to validate the signature and checksum fields.

Version 2.4.9 July 20, 2007
--------------------------
   Enhancements:
   =============
    1. Changed the driver to store ZERO value IP addresses as all 0's in the
       iBFT. 
    2. Add support for 5709 in query_iscsi.
    3. Embedded with IBCFG v2.4.6 (See release note below for details)

Version 2.4.8 July 2, 2007
--------------------------
   Fixes:
   ======
    1. Problem: System failed to boot to Win2K3 if MPIO is enabled 
       and both interfaces are configured with VLAN enabled. (CQ#30287)

       Cause : There is a software workaround for MSFT iSCSI Initiator 
       in the Windows driver that configures VLAN ID if the interface 
       is an iSCSI Boot device is VLAN is enabled in MBA.  The secondary
       interface was not marked as iSCSI Boot and therefore it was 
       not configured with VLAN.
     
       Change: Changed the driver to interface with UNDI driver to update 
       shared memory on the secondary NIC so that it's marked as an iSCSI Boot 
       interface. This required MBA driver v3.5.11 or newer.

Version 2.4.7 June 28, 2007
--------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.4.5 (See release note below for details)
 
Version 2.4.6 June 27, 2007
--------------------------
   Enhancements:
   =============
    1. Provided configurable parameter for users to configure number of 
       retries if LUN is busy. (CQ#29718)
    2. Embedded with IBCFG v2.4.4 (See release note below for details)

Version 2.4.5 June 26, 2007
--------------------------
   Fixes:
   ======
    1. Problem: iSCSI boot agent still tried to connect to iSCSI target
       with invalid TCP/IP parameters when DHCP failed on that interface.
       (CQ#30238)

       Cause : iSCSI Boot agent didn't check if the DHCP status of 
       interface.

       Change: Changed the iSCSI boot agent so that it only boots on
       the interface that acquires DHCP information successfully.

   Enhancements:
   =============
    1. Embedded with IBCFG v2.4.3 (See release note below for details)

Version 2.4.4 June 21, 2007
--------------------------
   Fixes:
   ======
    1. Problem: Invalid MAC address of secondary NIC is passed in iBFT
       if the following conditions are met:
       * TCP/IP parameters and iSCSI parameters are both statically 
       configured.
       * iSCSI client successfully boots to iSCSI target.

       Cause : With above conditions, secondary interface was never
       initialized and therefore MAC address was never queried.

       Change: Fixed the initialization logic so that secondary interface
       is brought up to query the MAC address if it was not initialized 
       before.

Version 2.4.3 June 15, 2007
--------------------------
   Fixes:
   ======
    1. Problem: iSCSI boot agent hangs up in the following configurations:
       * First NIC is configure to be in MPIO configuration with primary    
         and secondary NIC.
       * Both NICs are configured with Boot To target being TRUE.
       * BIOS boot order is configured to primary NIC, seconcary NIC, HDD
       * iSCSI partition is not bootable. 
       (CQ#30021)

       Cause : INT13h is not hooked/unhooked properly.

       Change: Fixed logic so that INT13h is hooked/undooked properly.

   2. Problem: There is a typo in message for error code 0x4. (CQ#30016)
     
      Changed: Fixed typo in message for error code 0x4.

   Enhancements:
   =============
    1. Embedded with IBCFG v2.4.2 (See release note below for details)

Version 2.4.2 June 14, 2007
--------------------------
   Fixes:
   ======
    1. Problem: iSCSI boot agent hangs up in a configuration where MPIO 
       is enabled and a certain interrupt configuration of primary and
       secondary devices. (CQ#29992)

       Cause : During MPIO booting, invalid IRQ unhooking occurs during
       context switching between primary and secondary interface.

       Change: Changed shutting down routine to unhook interrupt correctly 
       during context switching.

   Enhancements:
   =============
    1. Enhanced iSCSI boot agent so that it aborts booting if Broadcom's 
       iBFT is already present in the low memory.

Version 2.4.1 June 14, 2007
--------------------------
   Fixes:
   ======
    1. Problem: iSCSI boot agent failed to boot when all parameters are 
       configured to be static. (CQ#29977)

       Cause : iSCSI boot agent initialized stack before configuring the NIC
       device. At this time, MAC address is not known yet.

    Change: Changed the iSCSI boot agent so that stack is initialized after
    the NIC initialization.

   Enhancements:
   =============
    1. Embedded with IBCFG v2.4.1 (See release note below for details)
   
Version 2.4.0 June 12, 2007
--------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI ROM driver to use statically configured iSCSI Initiator 
       Name if iSCSI initiator name is not available via DHCP. (CQ#29878)
    2. Enhanced iSCSI ROM to boot from secondary device if it fails to boot 
       from the primary device.  iSCSI ROM also passes information of both
       primary and secondary device in iBFT.
    3. Enhanced iSCSI ROM to pause for 5 seconds whenever iSCSI boot fails so 
       that error can be viewed before BIOS clears the screen.
    4. Fixed a problem where media link detect doesn't work correctly.
    5. Embedded with IBCFG 2.4.0 (See release note below for details)  

Version 2.3.2 June 4, 2007
--------------------------
   Enhancements:
   =============
    1. Added support for 5709.
    2. Changed default behavior so the iSCSI target drive is first in the drive
       order.
    3. Added 'Use HDD as last drive' parameter. This allows user to force iSCSI 
    target drive to appear last in the drive order. 

Version 2.3.1 May 15, 2007
--------------------------
   Fixes:
   ======
    1. Problem: iSCSI boot agent failed to boot to local hard drive if both 
    LOMs connected to iSCSI target successfully but the partition on the iSCSI
    target was not bootable. (CQ#29483)

    Cause : iSCSI boot agent didn't free up the memory in that scenario. Two 
    NICs will use up about 160K of conventional memory.

    Change: Changed the iSCSI boot agent to free/clear the conventional memory
    when it fails to boot to iSCSI target.

    2. Problem: Windows TCP/IP parameters inherited from iSCSI boot phase when
    booting to local hard drive after booting to iSCSI target failed. This only
    occurs in the scenario when iSCSI boot agent is successful connecting to the
    iSCSI target but the partition is not bootable. (CQ#29534)

    Cause : iSCSI boot agent didn't free the memory and clear iBFT table in 
    that scenario. Microsoft iSCSI initiator grabs the paramters and configures
    the TCP/IP paramters. 

    Change: Changed the iSCSI boot agent to free/clear the conventional memory
    when it fails to boot to iSCSI target.

Version 2.3.0 May 8, 2007
--------------------------
   Enhancements:
   =============
    1. Added support for BCM57710 family device. 
    2. Embedded with IBCFG 2.3.0 (See release note below for details)  

Version 2.2.3 April 26, 2007
----------------------------
   Fixes:
   ======
    1. Problem: iSCSI boot agent didn't use correct set of CHAP information for
    iSCSI target configuration in a certain configuration.  Specifically, if 
    user only specifies one iSCSI target information in DHCP option 43 with
    DHCP tag 202 (iSCSI target#2), then iSCSI boot agent still uses CHAP
    parameter configured for iSCSI target#1 in iSCSI configuration. (CQ#29293)

    Cause : iSCSI boot agent didn't associate iSCSI target information from
    DHCP option 43 with CHAP information configured in iSCSI configuration.

    Change:  Changed the iSCSI boot agent to associate iSCSI target information
    with correct set of CHAP paramaters.

   Enhancements:
   =============
    1. Embedded with IBCFG 2.2.2 (See release note below for details)  


Version 2.2.2 April 18, 2007
----------------------------
   Fixes:
   ======
    1. Problem: Need iSCSI configuration tool for WinPE. (CQ#28471)
    2. Problem: iSCSI configuration tool does not support WinPE-AMD64
                (CQ#29071)
    3. Problem: Implement -help for WinPE iSCSI configuration tool. (CQ#29068)

   Enhancements:
   =============
   1. Renamed IBCFGPE.exe utility to IBCFG32/IBCFG64.
   2. Embedded with IBCFG v2.2.1 (See release note below for details)
         
   
Version 2.2.1 April 13, 2007
----------------------------
   Fixes:
   ======
    1. Problem : iSCSI boot client fails to boot to target if iSCSI LUN
       is greater than 9. (CQ#29147)

       Change : Changed to iSCSI driver to use LUN number consistently
       as decimal.

Version 2.2.0 April 2, 2007
----------------------------
   Enhancements:
   =============
    1. Added IBCFGPE.exe utility.  This utility provides the scripting 
       functionality of IBCFG.exe on the WinPE environment.
    2. Embedded with IBCFG v2.2.0 (See release note below for details)

Version 2.1.5 March 22, 2007
----------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.9 (See release note below for details)

Version 2.1.4 March 8, 2007
---------------------------
   Fixes:
   ======
    1. Problem : iSCSI boot doesn't attempt to connect to second target if 
       both iSCSI target are configured with the same IP. (CQ#28758)

       Cause: TCP connection cannot be allocated in that scenario.

       Change : Changed the TCP/IP stack to reuse the connection
       block since there is only one active TCP connection at 
       any given time.

Version 2.1.3 February 26, 2007
-------------------------------
   Enhancements: 
   =============
    1. Enhanced QUERY_ISCSI utility to extract the MAC address from the iSCSI
       block of the booting interface. 
    2. Added logic in iscsi_setup to auto-detect the booting interface.

Version 2.1.2 February 20, 2007
-------------------------------
   Fixes:
   ======
    1. Problem : iSCSI client failed to connect to iSCSI target when switching
       between boot image setup from MSFT iSCSI initiator and Broadcm HBA
       iSCSI initiator. (CQ#28041).

       Cause:  Changing parameters in MBA and iSCSI agent will cause the device 
       to be reset which in turns generate a link drop.  The switch might not be
       able to forward traffic after a period of time.   The workaround is to 
       configure "Link Up Delay Time".

       Change : After initializing the network interface, wait for a few 
       seconds before sending out the first packets.

Version 2.1.1  January 09, 2007
-------------------------------
   Fixes:
   ======
    1. Problem : iSCSI Boot to LongHorn O/S failed with BCM5706/08.  

       Cause:  This is a bug in the LH boot manager where it corrupts part of 
       iSCSI boot agent code in the low memory region of iSCSI boot code 
       segment.

       Change : Arranged how iSCSI boot agent objects are linked so that
       critical code is in the high memory region of iSCSI boot code segment.
       This way, LH boot manager code only corrupts non-critical code (e.g 
       initialization code, error handling code, etc...). This is a software 
       workaround until Microsoft fixes their issue.  This workaround might not 
       work with multiple boot agent driver which has RPL feature.  This driver
       takes additional 8Kbytes which causes more iSCSI code to be corrupted by
       the LH OS boot manager.

Version 2.1.0  January 04, 2007
-------------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.7 (See release note below for details)

Version 2.0.11 December 21, 2006
--------------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI driver to embed MAC address of booting interface
       in the iSCSI block so that QUERY_ISCSI or other 
       applications/drivers can utilize that.

Version 2.0.10 November 22, 2006
--------------------------------
   Fixes:
   ======
    1. Problem : Booting to Linux failed since QUERY ISCSI application doesn't 
       support BCM5780S. 

      Change : Enhanced QUERY ISCSI application to support BCM5780S.

Version 2.0.9 November 13, 2006
-------------------------------
   Fixes:
   ======
    1. Problem : iSCSI Boot agent displays negative TCP port number if it's
       greater than 32767. (CQ#27441)

      Change : Changed the code to display TCP port number in unsigned 
      integer.

Version 2.0.8 November 10, 2006
-------------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.6 (See release note below for details)

Version 2.0.7 October 18, 2006
------------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.5 (See release note below for details)

Version 2.0.6 October 17, 2006
------------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI Boot initiator to support TCP timestamp.
    2. Embedded with IBCFG v2.0.4 (See release note below for details)

Version 2.0.5 October 10, 2006
------------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.3 (See release note below for details)

Version 2.0.5 October 10, 2006
------------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.3 (See release note below for details)

Version 2.0.4 October 5, 2006
-----------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.2 (See release note below for details)

Version 2.0.3 October 4, 2006
-----------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.1. (See release note below for details)

Version 2.0.2 October 4, 2006
-----------------------------
   Fixes:
   ======
    1. Problem : iSCSI Boot agent doesn't send out Logoff request after successfully
       login to target but target drive is not ready. (CQ#26716)

      Change : Implemented grateceul logout procedure.

Version 2.0.1 October 3, 2006
-----------------------------
   Fixes:
   ======
    1. Problem : 'F' bit is not set in Write iSCSI command.

      Change : Changed iSCSI Write logic to set F bit in the iSCSI Command
      block.

   Enhancements:
   =============
    1. Embedded with IBCFG v2.0.0. (See release note below for details)

Version 2.0.0 September 25, 2006
--------------------------------
   Fixes:
   ======
    1. Problem : Booting to Linux failed since QUERY ISCSI application doesn't 
       support BCM5756ME. (CQ#26892)

      Change : Enhanced QUERY ISCSI application to support BCM5756ME and 
      BCM5722.

Version 1.4.9 September 21, 2006
--------------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v1.0.13. (See release note below for details)

Version 1.4.8 September 19, 2006
-------------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI boot agent to update BIOS Data Area (BDA) at offset
       40:75 to contain correct drive count per BIOS Boot Specification.  
    2. Added support for BCM5756 and BCM5722 family devices.
    3. Embedded with IBCFG v1.0.12. (See release note below for details)

Version 1.4.7 September 8, 2006
-------------------------------
   Enhancements:
   =============
    1. Problem : iSCSI boot causes double link downs when UMP/ASF firmware  
       is enabled with capability of 10/100 link speed.

      Cause : iSCSI boot agent invokes UNDI INITIALIZE to initialize first
      time to query iSCSI and/or TCP/IP parameters from the DHCP server. 
      It then invokes UNDI INITIALIZE second time to initialize the 
      device with complete iSCSI parameters. Before invoking UNDI INITIALIZE
      second time, UNDI SHUTDOWN is invoked which causes the interface to 
      lose link.

      Change : Enhanced iSCSI boot agent not to invoke UNDI SHUTDOWN before 
      second UNDI INITIALIZE is called.

Version 1.4.6 September 1, 2006
-------------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v1.0.11. (See release note below for details)

Version 1.4.5 August 25, 2006
-----------------------------
   Fixes:
   ======
    1. Problem : Intermittent disk error after RedHat 4 default boot selection
       is allowed to timeout. (CQ#26466)

      Cause  : iSCSI keep alive mechanism doesn't work correctly.

      Change : Fixed iSCSI keep alive mechanism to work correctly.

Version 1.4.4 August 10, 2006
-----------------------------

   Enhancements:
   =============
    1. Embedded with IBCFG v1.0.10. (See release note below for details)

    2. Enhanced iSCSI driver to use IANA format for ISID (iSCSI Session ID)
       in the iSCSI login requests. IANA Enterprise Number for Broadcom is 
       4413 (0x113d).

Version 1.4.3 August 9, 2006
---------------------------

   Enhancements:
   =============
    1. Enhanced Linux application QUERY_ISCSI to extract iSCSI parameters
       from the ethernet controllers directly so that it's not necessary 
       to patch the layer 2 drivers (tg3 or bnx2). As a result, patched 
       layer2 drivers are no longer released with this version of 
       driver or newer. 

       Syntax/Usage of QUERY_ISCSI is now changed to

            query_iscsi <TAG>
 
       For instance,
            query_iscsi TARGET_NAME

       This implies that the content of iscsi_setup MUST be changed.  
       See sample iscsi_setup or iscsi_setup.k26 in the software release for 
       details.

    2. Enhanced iSCSI driver to embed DNS address information in the 
       iSCSI block so that QUERY_ISCSI or other applications/drivers
       can utilize that.

Version 1.4.2 July 26, 2006
---------------------------
   Fixes:
   ======
    1. Problem : iSCSI initiator failed to connect to Dell/EMC iSCSI target,
       AX100i.

      Cause  : There are multiple issues:
        * TCP/IP doesn't intepret TCP flags correctly in connection  management 
          code when PUSH bit is set. 
        * iSCSI login code doesn't send correct ExpStatSN in the second iSCSI
          command.
        * There is race condition that iSCSI protocol engine doesn't handle
           R2T requests correctly in iSCSI Write operations.     

      Change : Fixed all issues described above.

    2. Fixed Makefiles of Linux MAC drivers so that they are compiled with
       iSCSI BOOT patch code in both kernels 2.4 and 2.6.

   Enhancements:
   =============
    1. Embedded with IBCFG v1.0.9. (See release note below for details)
    2. Changed the default iSCSI Initiator name from 
         iqn.1995-05.com.broadcom.iscsi_boot to 
         iqn.1995-05.com.broadcom.iscsiboot  

Version 1.4.1 July 18, 2006
--------------------------
   Enhancements:
   =============
    1. Included updated L2 Linux drivers:
        * NetXtreme I  : Linux TG3 driver v3.62b

Version 1.4.0 July 17, 2006
--------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI Initiator to support only a limited number of 
       controllers. Supported families of controllers are: BCM5706, 
       BCM5708, BCM5714, BCM5715, BCM5780, BCM5721, BCM5754, BCM5755.

    2. Included updated L2 Linux drivers:
        * NetXtreme I  : Linux TG3 driver v3.56c
        * NetXtreme II : Linux BNX2 driver v1.4.43b
 
Version 1.3.5 July 11, 2006
--------------------------
   Enhancements:
   =============
    1. Added a note in the readme.txt to indicate that PXE-based 
       iSCSI boot driver is only BETA only.

Version 1.3.4 May 26, 2006
--------------------------
   Fixes:
   ======
    1. Problem : Target 1 CHAP parameters are used when only Target 2
       CHAP parameters are enabled. (CQ#25003)

      Cause  : When only one iSCSI Target 2 is enabled, iSCSI initiator
      mistakenly uses the CHAP information from the Target 1 parameters.

      Change : Fixed the logic that associates iSCSI Target information 
      and the CHAP parameters.

   Enhancements:
   =============
    1. Enhanced to use "iscsiboot" as default host name and suffix of 
       default iSCSI initiator name.

Version 1.3.3 May 16, 2006
--------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v1.0.8. (See release note below for details)
    2. Enhanced to iSCSI driver to boot with primary or iSCSI MAC address
       based on user configuration.  

Version 1.3.2 May 12, 2006
--------------------------
   Fixes:
   ======
    1. Problem : iSCSI client fails to login iSCSI target if one or more
       DNS addresses are provided in the DHCP response. (CQ#24733)
      
      Cause  : DHCP processing code changed the DHCP length field of DNS 
      parameters when it was processing the DNS parameters.  Improper length
      field in the DHCP option caused the DHCP processing of the subsequent 
      paramters to fail.

      Change : Changed DHCP processing code so that it doesn't change the 
      length field of DNS parameters in the DHCP response buffer.

   2. Problem : iSCSI client fails to connect to NetApp iSCSI target.
      
      Cause  : During iSCSI logon, NetApp returned warning message in the
      SCSI Sense Information (e.g Target had been reset, etc...  iSCSI 
      client treated this as fatal error which caused login to fail.

      Change : Changed iSCSI login code to interpret this warning message 
      in the SCSI Sense Information properly.

Version 1.3.1 April 17, 2006
---------------------------
   Enhancements:
   =============
    1. Embedded with IBCFG v1.0.7. (See release note below for details)
    2. Enhanced to initialize VLAN field in the iBFT field so that MSFT
       Initiator can boot from iSCSI targets in a VLAN environment. 
       However, current MSFT Initiator (Build#1789) still has a bug where 
       it cannot boot via a given VLAN yet.

Version 1.3.0 March 4, 2006
---------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI boot driver so that client can boot to Win2K3 partition 
       on iSCSI target with the use of Microsoft iSCSI initiator and TCP/IP 
       stack.

       Change : Changed iSCSI driver to build iBFT (iSCSI Boot Firmware Table)
       on the low memory so that MSFT iSCSI initiator can retrieve iSCSI and 
       TCP/IP parameters.

    2. Embedded with IBCFG v1.0.6. (See release note below for details)

Version 1.2.9 March 3, 2006
-------------------------------
   Fixes:
   ======
    1. Problem : iSCSI Boot failed to boot to Win2K3 partition on 
       EqualLogic iSCSI target. (CQ# Cont0023574).
      
      Cause  : During login phase, initiator and client negotiates for 
      MaxRecvDataSegmentLength parameter of 65535.  ISCSI boot initiator 
      sends a Read(10) request of 8 logical blocks (sectors).  EqualLogic 
      intermittently sends data back in 2 or more Data-IN responses. ISCSI 
      boot software assumes that ISCSI target will send response in 1 
      DATA-IN since the request is always less than MaxRecvDataSegmentLength. 
      This causes data corruption.  This issue was fixed in v1.0.9 but 
      the logic was broken in v1.1.5 where current reassembly pointer was 
      mistakenly reinitialized after every DATA-IN PDU.

      Change : Changed the iSCSI receive logic not to initialize current
      reassembly pointer after every DATA-IN PDU.

Version 1.2.8 February 29, 2006
-------------------------------
   Fixes:
   ======
    1. Problem : iSCSI Boot might hang up if no cable is attached.
       This only occurs with monolithic iSCSI ROM. (CQ# Cont00023553)

       Cause : iSCSI driver didn't check for cable status on the return
       of UNDI_INITIALIZE call.

       Change : Changed L2 interface routine to check of cable status 
       on the return of UNDI_INITIALIZE call.

Version 1.2.7 February 28, 2006
-------------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI boot driver to allow users to terminate iSCSI boot 
       during booting phase by pressing <ESC> or Ctrl-C. 
       (CQ#: Cont00023230)

       Change : Add logic to check for <ESC> keystroke during iSCSI boot 

       process. 

Version 1.2.6 February 6, 2006
-------------------------------

    1. Embedded with IBCFG v1.0.5. (See release note below for details)
 
Version 1.2.5 February 1, 2006
------------------------------
   Fixes:
   ======
    1. Problem : Windows iSCSI HBA driver still performs mutual CHAP 
       authentication even target CHAP ID and secret parameters are 
       not configured. (CQ#23040)

       Cause : Windows iSCSI HBA driver doesn't check for length field 
       of iSCSI target CHAP ID and secret parameters before using them.

       Change : Implemented a software workaround in the iSCSI DOS initiator
       so that it doesn't pass target ID/secret parameters to Windows iSCSI
       driver if length of parameter is zero.

Version 1.2.4 January 27, 2006
-------------------------------

    1. Embedded with IBCFG v1.0.4. (See release note below for details)
    2. Updated readme.txt to reflect updated and added features.

Version 1.2.3 January 23, 2006
-------------------------------
   Enhancements:
   =============
    1. Enhanced security logic during Mutual CHAP Authentication by 
       increasing the challenge length from 32 to 512.
    2. Enhanced security logic so that Target CHAP ID/password can be
       used in conjuction with iSCSI target information which is retrieved 
       from the DHCP process.
    3. Embedded with IBCFG v1.0.3 (See release note below for details)

Version 1.2.2 January 20, 2006
-------------------------------
   Enhancements:
   =============
    1. Added support for iSCSI Boot Configuration Utility for BCM570x 
       devices in the ROM binary.  This can be downloaded and from MBA 
       configuration menu.
 
    2. Enhanced iSCSI driver so that it will fail to login to iSCSI target 
       with no authentication enabled when CHAP is enabled on the initiator. 

    3. Embedded with IBCFG v1.0.2 (See release note below for details)

Version 1.2.1 January 18, 2006
-------------------------------
   Enhancements:
   =============
    1. Added support for iSCSI Boot Configuration Utility for Teton device family 
       in ROM binary.  This can be downloaded and from MBA configuration menu.
 
    2. Embedded with IBCFG v1.0.1 (See release note below for details)

Version 1.2.0 January 16, 2006
-------------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI boot initiator to boot with parameters stored in the 
       NIC's NVRAM. iSCSI boot parameters can be configured with provided
       iSCSI Boot Configuration Utility, ibcfg.exe.   

    2. Initial release of IBCFG v1.0.0.

Version 1.1.10 December 9, 2005
-------------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI initiator to comply with RFC 4173.  If TCP port and/or 
       protocol fields are not specified in the DHCP root-path, then default 
       TCP port of 3260 and TCP protocol are used.

Version 1.1.9 October 19, 2005
------------------------------
   Fixes:
   ======
    1. Problem : iSCSI initiator failed booting to iSCSI target on 
       some systems where no device is attached to LSI SAS
       controller. (TO#1999)

       Cause : When O/S issues INT13h call to reset fixed-disk 
       systems (AH=0), INT13 handler of iSCSI initiator calls next handler
       in the chain.  In this particular setup, next handler returns 
       fatal error which indicates "Controller Failed" error (AH=20).
       This causes interface to fail.

       Change : Implemented a software workaround so that next handler 
       is only called when local drive count is greater than zero.

Version 1.1.8 October 10, 2005
------------------------------
   Enhancements:
   =============
    1. Enhanced iSCSI initiator so that it connects to the redirected 
       iSCSI Target when iSCSI target returns "Target Moved Temporarily" 
       or "Target Moved Permanently" Status and IP address/TCP port number
       of redirected Target during login procedure. (TO#1801)

   Fixes:
   ======
    1. Problem :  Target failover functionality doesn't work correctly.
       (TO#1951)

       Cause : Second target login procedure timeouts prematurely.

       Change : Fixed iSCSI timeout logic so that second target login 
       procedure doesn't timeout prematurely.

Version 1.1.7 October 10, 2005
------------------------------
   Fixes:
   ======
    1. Problem :  Option 43 does not work properly when using a Linux DHCP
       server. (TO#1918)

       Cause : By default, Linux DHCP server doesn't return NULL-terminated
       Class ID for DHCP option 43.

       Change : Changed DHCP parser code to handle DHCP option 43 that is 
       not NULL-terminated.

Version 1.1.6 September 29, 2005
-------------------------------
   Enhancements:
   =============
    1. Enhanced to support vendor specific options which allow users to 
       specify 2 iSCSI targets and initiator name. These options are
       described as follows:
    
        Option 201: First iSCSI Target Information which is in standard 
        format as root-path.
        "iscsi":"<server name>":"<protocol>":"<port>":"<LUN>":"<targetname>

        Option 202: Second iSCSI Target Information which is in standard 
        format as root-path.
        "iscsi":"<server name>":"<protocol>":"<port>":"<LUN>":"<targetname>

        Option 203: iSCSI Initiator Name.

        These 3 options should be encapsulated within DHCP option 43. If the 
        total length of these options is longer than 253 bytes, they can be 
        encapsulated in more than one option 43 per RFC 3396.  In addition, 
        DHCP option 60 has to be present which must contains a string of 
        "BRCM ISAN". 

        If above options are used, DHCP option 17 is ignored and not used.

        iSCSI DOS initiator will try to connect to 1st iSCSI target. If it
        fails to connect, it will try to connect to the 2nd iSCSI target.
      
Version 1.1.5 September 15, 2005
-------------------------------
   Fixes:
   ======
    1. Problem : iSCSI initiator fails to login to some iSCSI targets (e.g 
       Stringbean, etc.. ) which has CHAP authentication enabled. Specifically, 
       iSCSI targets that use CHAP challenge message which is greater than
       512 byte long. (TO#1811)

       Cause : Initial implementation of CHAP function in the iSCSI initiator 
       limits the length of Challenge sent by iSCSI target to be less than 512
       byte long.  

       Change : Enhanced iSCSI initiator to support longer Challenge field up
       to 2048 bytes.

   Enhancements:
   =============
    1. Changed MAC address field in the iSCSI Initiator Name to lower case.

Version 1.1.4 September 13, 2005
-------------------------------
   Fixes:
   ======
    1. Problem : iSCSI initiator fails to write to Cisco iSCSI Target MDS 9216.
       (TO#1799)

       Cause :  iSCSI Cisco target MDS 9216 ultilizes "InitialR2T" feature in 
       iSCSI Write operation response even iSCSI initiator requests 
       "InitialR2T" to be OFF during iSCSI login phase.

       Change : Implemented "Initial Ready To Transfer" (aka "InitialR2T") 
       mechanism in the iSCSI Write operation in the iSCSI protocol processing.

Version 1.1.3 September 9, 2005
-------------------------------
   Enhancements:
   =============
    1. Enhanced so that users have a choice to attach to ISCSI target but
       not boot from it.  This allows users to boot from local hard drive
       or CD-ROM and still be able to access iSCSI target.


Version 1.1.2 September 1, 2005
-------------------------------
   Fixes:
   ======
    1. Problem : Monolithic iSCSI boot hangs after connecting to iSCSI target.
       (TO#1577)

       Cause :  iSCSI initiator and UNDI driver are loaded to conventional 
       memory during POST.  Some BIOSes don't use 40:13 to manage conventional 
       memory. BIOS corrupts iSCSI initiator and UNDI driver code/data during 
       POST.

       Impact : This fix also requires PXE v2.5.7 or newer.

       Change : Changed iSCSI boot implementation to indicate to the BIOS 
       that MBA is a BEV (Boot Entry Vector) device.  MBA only loads 
       iSCSI boot initiator and UNDI driver to the conventional memory
       after POST, when BEV is called, just like PXE boot.  

    2. Problem : iSCSI boot doesn't display proper error message when root 
       path information (DHCP option 17) is not present in the DHCP 
       responses. (TO#1748).
 
       Change : Changed iSCSI boot driver to check and display proper messages.

Version 1.1.1 August 30, 2005
---------------------------- 
   Fixes:
   ======
    1. Problem : iSCSI boot creates IP address conflict between HBA and L2ND    
       when using DHCP reservation feature on the DHCP server. (TO#1588)

       Cause:  iSCSI boot uses primary MAC address during ISCSI boot.  

       Impact : This fix also requires  PXE v2.5.6 or newer.

       Change: Changed iSCSI boot code to query iSCSI MAC address from the UNDI
       interface and use it to restart DHCP procedure during iSCSI boot. 


    2. Problem : PXE-based iSCSI boot displays garbage in the MAC Address field 
       of iSCSI initiator name. (TO#1599).
 
       Cause : MAC address field is not copied to initiator name before
       the iSCSI information is displayed.

       Change : Changed iSCSI init code to initialize iSCSI initiator name
       in the proper order.

    3. Problem : PXE-based iSCSI boot is unable to boot into DOS if local SATA 
       drive is connected. (TO#1669)

       Cause : INT13h handler doesn't call the next INT13h handler when 
       DOS calls INT13h to query HD parameters.

       Change : Changed INT13h handler to call the next INT13h handler when 
       DOS calls INT13h to query HD parameters.

Version 1.1.0 August 4, 2005
----------------------------
   Enhancements:
   =============
    1. Added support for ISCSI ROM.  ISCSI boot is now released in
       two binary images:

        *   iscsi.0   - Downloadable image via PXE protocol

        *   iscsi.rom - This image is programmed on the NVRAM.  To program 
            this image on the NVRAM via xdiag.
                nvm upgrade -ib a:/iscsi.rom

Version 1.0.10 June 7, 2005
---------------------------

    Fixes:
    ======
   1. Problem: INT 13h AH=8 service doesn't return drive parameters 
      correctly if the ISCSI target drive is smaller than 8.4 Gbytes.

      Cause  : ISCSI initiator defaults Cylinder, Head, and Sector to  
      1024, 255, and 63, respectively. This is equivalent to 8.4 Gbytes.

      Change : Changed INT 13h service code to update the CHS parameters
      if the disk capacity is smaller than 8.4G bytes.

      Impact : None.

   2. Problem: INT 13h AH=48 returns CHS parameters for drives which
      have more than 15,482,880 sectors.

      Change : Changed INT 13h service code to return CHS parameters
      only if ISCSI target drive has less than 15,482,880 sectors
      per Enhanced Disk Driver Specification.

      Impact :  None.

   3. Problem: ISCSI DOS initiator intermittently locks up in some systems.

      Cause : When ISCSI DOS initiator invokes BIOS INT 13h handler, it
      pushes an uninitialized flags field to stack.  When INT 13h calls returns, 
      FLAGS is popped from the stack by the CPU, CPU stops in single step mode
      when TF field is set.

      Change : Changed INT13h code to push current FLAG field to the stack
      before invoking BIOS INT 13h handler.

      Impact : None.

   4. Problem: INT 13h AH=8 doesn't return drive count correctly in some 
      DOS environments (e.g. Windows 98 ...).

      Change : Changed INT 13h service code to always return local drive count
      plus one.

      Impact : None.

Version 1.0.9 October 29, 2004
--------------------------------

    Fixes:
    ======
   1. Problem: ISCSI client fails to boot EqualLogic ISCSI target 
      (PeerStorage 100E).

      Cause  : During login phase, initiator and client negotiates for 
      MaxRecvDataSegmentLength parameter of 65535.  ISCSI boot initiator 
      sends a Read(10) request of 8 logical blocks (sectors).  EqualLogic 
      intermittently sends data back in 2 or more Data-IN responses. ISCSI 
      boot software assumes that ISCSI target will send response in 1 
      DATA-IN since the request is always less than MaxRecvDataSegmentLength. 
      This causes data corruption.  

      Change : Implement reassembly logic in the ISCSI session receive path to 
      take care the case when incoming data comes in multiple DATA-IN responses.

      Impact :
               None.

Version 1.0.7 October 08, 2004
--------------------------------

    Fixes:
    ======
   1. Problem: Service call INT13H AH=15h (Read Drive Type) returns error.

      Cause: In Read Drive Type handler routine, there is a bug in the 
      INT13H service handler where carry is set even valid "Fixed Disk" 
      type is returned correctly.

      Change : Fixed Read Drive Type handler routine so that carry bit is 
      cleared.

Version 1.0.6 September 29, 2004
--------------------------------

    Fixes:
    ======
   1. Problem: ISCSI initiator fails to boot on a certain systems.
      (CQ#TO615)

      Cause: When a EDD (Enhanced Disk Service) disk service request is 
      made to local drives which is handled by INT13H service routine in
      the BIOS, ISCSI boot interrupt 13H handler doesn't pass  content 
      of CPU registers DS and SI transparently.  This causes data code 
      corruption in the ISCSI context.

      Change : Change ISCSI INT13H handler code to pass registers DS and 
      SI transparently.

Version 1.0.5 September 16, 2004
--------------------------------

   Enhancements:
   =============
    1. Add Challenge Handshake Authentication Protocol (CHAP) with Message
       Digest 5 (MD5) as a hashing algorithm per RFC 1994, RFC 1321, and 
       RFC 3270.

    2. Add Linux ISCSI boot for BCM5706 devices.

Version 1.0.4 September 13, 2004
--------------------------------

    Fixes:
    ======
   1. Problem: ISCSI initiator doesn't handle non-zero LUN correctly based on
      SCSI Architecture Model-2 and IETF ISCSI bootstrap specs.

      Change : Change ISCSI code to extract LUN field correctly.

   Enhancements:
   =============
    1. Add clarifications in README.TXT pertaining to startup and 
       shutdown scripts. (TO#472).

Version 1.0.3 August 18, 2004
---------------------------

    Fixes:
    ======
   1. Problem: INT13H service Verify Command (AH=0x4) fails when the target 
      is the local drive.

      Cause  : Content of driver number in register DL is incremented after
      the previously issued Write Command.

      Change : Change INT13 service call to preserve content of DL on all 
      service calls.

Version 1.0.2 August 9, 2004
---------------------------

   Enhancements:
   =============
    1. Made some changes to allow ISCSI boot to Windows O/S.

       Change: In Windows environment, loader retrieves head information from
       the BIOS Parameter Block (BPB) of the Boot Record sector. Changed 
       ISCSI boot software to retrive head information from BPB if the 
       system ID of the bootable partition is BIGDOS (0x6) or NTFS(0x7)

Version 1.0.1 July 30, 2004
---------------------------

   Fixes:
   ======
   1. Problem: ISCSI client fails to establish ISCSI session on a few 
      systems (TO#431).

      Cause  : After a TCP connection is established, some variables of 
      ISCSI context are not initialized.

      Change : Change ISCSI session code to initialize ISCSI context 
      variables after TCP connection is established.

      Impact : None.

Version 1.0.0 July 29, 2004
---------------------------

   Enhancements:
   =============
    1. Add support for Linux boot.  

      Impact :
               None.

Version 0.0.6 July 21, 2004
---------------------------

   Fixes:
   ======
   1. Problem: ISCSI client hangs when copying files to/from SANRAD.
      (TO#397)

      Cause  : During idle period, SANRAD periodically pings ISCSI 
      clients with ISCSI NOP-IN command.  If ISCSI client doesn't 
      respond to NOP-In with NOP-Out command in 2 executive times,
      SANRAD closes the TCP connection with the client.

      Change : Implement NOP-In and NOP-Out feature.  ISCSI client 
      now responds to NOP-in requests and periodically sends out 
      NOP-out to query ISCSI target if it's alive every 3 or 4 
      seconds.

      Impact : None.

   2. Problem: ISCSI client fails to access iSCSI Cisco target (SN5280).
      (TO#395)

      Cause  : Cisco ISCSI target returns "Check Condition" on the requests
      the ISCSI session if the previous ISCSI session was not shutdown in the 
      previous attempt.

      Change : Change ISCSI code to randomize the source TCP port number to be 
      used in establishing a TCP connection with the ISCSI target.  If ISCSI 
      target pings the previously established connections, then ISCSI client
      closes those connections gracefully.

      Impact :
               None.

Version 0.0.5 July 14, 2004
---------------------------

   Fixes:
   ======
   1. Problem: ISCSI client failed to boot SANRAD ISCSI target,
      displayed "Target is not ready", and then booted to local
      drive.

      Cause  : After a successful logon, ISCSI client sends a SCSI 
      command Test Unit Ready to query if the target is ready.  If 
      the response for this command contains warning (non-fatal), ISCSI 
      sends Test Unit Ready command again to ISCSI target.  There is a 
      bug in SanRAD where it responses second Test Unit Ready with 
      a fatal error.  It indicates that Test Unit Ready has one or more 
      invalid fields even though the content of Test Unit Ready command 
      CDB is absolutely valid and is exact same as the first request.
      Other ISCSI targets respond correctly. This is definitely a  
      SanRAD's issue. 

      Change : To workaround this SanRAD's problem, changed ISCSI 
      command code to send single Test Unit Ready command to target.  
      If the error is not fatal, then continue ISCSI boot processs.

      Impact :
               None.

Version 0.0.4 July 7, 2004
---------------------------

   Enhancements:
   =============
   1. Query and display detailed drive information of remote SCSI target drive 
      once ISCSI login is completed.

   2. Indicate accurate drive capacity information of remote SCSI HD to 
      INT13H users by sending SCSI Read Capacity Command to remote SCSI target.

   3. Boot to next bootable device and keep ISCSI code resident in the 
      memory if ISCSI target doesn't contain bootable partition.  This 
      allows client to prepare/configure remote drive from locally 
      bootable devices.  If system is booting from the ISCSI target disk, 
      the target disk becomes the first disk or drive "C:" in the system,
      If the system is booting from the local disk, the remote SCSI drive 
      becomes the last physical drive in the system.
  
Version 0.0.3 July 1, 2004
---------------------------

   Fixes:
   ======
   1. Problem: ISCSI client failed to logon to SANRAD ISCSI target.

      Cause  : During ISCSI login phase, ISCSI client sends some 
      negotiatable paramters to ISCSI target in hexadecimal format.  
      Apparently, SANRAD doesn't recognize parameters in hex format and
      send ISCSI response with "Miscellaneous Error". Per ISCSI
      specification, these parameters are in numerical-value type which 
      can be either in decimal or hex format.  Therefore, this is indeed 
      a bug in SANRAD ISCSI target software.

      Change : Changed ISCSI login code to send parameters in decimal 
      format in order to workaround ISCSI bug in SANRAD ISCSI target.

      Impact :
               None.

Version 0.0.2 June 30, 2004
---------------------------

   Enhancements:
   =============
   1. Optimized Rx path so that ISCSI target can burst up to 96 sectors   
      per Read request.

      Impact :
               None.

   2. Added Enhanced Disk Drive service support in INT13h calls per EDD 
      specification v3.0.  This feature is used in newer O/S loaders 
      such as Linux's GRUB, etc...
  
   3. Added code to intercept INT15H/AX=e280 service call to hide memory 
      usage for UNDI code and ISCSI code.  ACPI-compliant O/S (e.g Linux, 
      Windows) uses this service to query system memory map and ignore 
      contents of free memory pointer at 40:13.

   Fixes:
   ======
   1. Problem: ISCSI client intermittently stops during a large file 
      transfer. (CQ#TO368)

      Change : Fixed a race condition in ISCSI Rx session processing code.

      Impact :
               None.

Version 0.0.1 June 15, 2004
---------------------------
     Initial release.  



